home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 11243 / 11243.xpi / chrome / skipscreen.jar / content / auxilliary.js < prev    next >
Text File  |  2009-12-14  |  3KB  |  89 lines

  1. function skipOptions(){
  2.     try{
  3.     skipWin = window.openDialog('chrome://skipscreen/content/options.xul', 'SkipScreen Options', 'chrome,titlebar,toolbar,centerscreen,resizable');
  4.     skipWin.focus();
  5.     } catch (e) {
  6.     alert(e);
  7.     }
  8.     return true;
  9. }//skipOptions()
  10.  
  11. function skipAbout(){
  12.     try{
  13.     skipWin = window.openDialog('chrome://skipscreen/content/about.xul', 'SkipScreen About', 'chrome,titlebar,toolbar,centerscreen,resizable');
  14.     skipWin.focus();
  15.     } catch (e) {
  16.     alert(e);
  17.     }
  18.     return true;
  19. }
  20.  
  21.  
  22.  
  23. // https://developer.mozilla.org/en/Code_snippets/On_page_load#Running_code_on_an_extension%27s_first_run_or_after_an_extension%27s_update
  24.  
  25. var Overlay = {
  26.     init: function(){
  27.  
  28.     var prev = -1, firstrun = true;
  29.     var skipdate = ""; var dateNotSet = true;
  30.  
  31.     // no need for this var to be in the global name-space
  32.     // NOR to share a potentiall common name. so, ssPrefs
  33.     var ssPrefs = Components.classes["@mozilla.org/preferences-service;1"]
  34.             .getService(Components.interfaces.nsIPrefService);
  35.     ssPrefs = ssPrefs.getBranch("extensions.skipscreen.");
  36.  
  37.     var gExtensionManager = Components.classes["@mozilla.org/extensions/manager;1"]
  38.                   .getService(Components.interfaces.nsIExtensionManager);
  39.     var current = gExtensionManager.getItemForID("SkipScreen@SkipScreen").version;
  40.     //gets the version number.
  41.  
  42.     try{
  43.         prev = ssPrefs.getCharPref("version");
  44.         firstrun = ssPrefs.getBoolPref("firstrun");
  45.         skipdate = ssPrefs.getCharPref("firstskipdate");
  46.         dateNotSet = (skipdate == "");
  47.     }catch(e){
  48.         //nothing
  49.     }finally{
  50.  
  51.         // TODO: build a debug preference, that floods the user with messages like these
  52.         // without the need for code-modification....
  53.         // for debugging only, naturally!
  54.         // alert("current: " + current + "\nprev: " + prev + "\nfirstrun : " + firstrun + "\nskipdate: " + skipdate );
  55.  
  56.         if (dateNotSet) {
  57.         ssPrefs.setCharPref("firstskipdate", Date());
  58.         }
  59.  
  60.         if (firstrun){
  61.         ssPrefs.setBoolPref("firstrun",false);
  62.         ssPrefs.setCharPref("version",current);
  63.  
  64.         // Insert code for first run here
  65.         window.setTimeout(function(){
  66.             gBrowser.selectedTab = gBrowser.addTab("http://www.skipscreen.com/whatsnew.html?ver="+current);
  67.         }, 1500); //Firefox 2 fix - or else tab will get closed (leave it in....)
  68.  
  69.         }
  70.  
  71.         if (prev!=current && !firstrun){ // !firstrun ensures that this section does not get loaded if its a first run.
  72.         ssPrefs.setCharPref("version",current);
  73.  
  74.         // version is different => upgrade (or conceivably downgrade)
  75.         window.setTimeout(function(){
  76.             gBrowser.selectedTab = gBrowser.addTab("http://www.skipscreen.com/whatsnew.html?ver=" + current
  77.                                + "&prev=" + prev);
  78.         }, 1500); //Firefox 2 fix - or else tab will get closed
  79.  
  80.         }
  81.     } // end finally
  82.  
  83.     window.removeEventListener("load",function(){ Overlay.init(); },true);
  84.     }
  85. };
  86.  
  87. // fires on browser launch, which includes open-link-in-new-window
  88. window.addEventListener("load",function(){ Overlay.init(); },true);
  89.